{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Method Comparison\n",
    "The following contains a simple method comparison for the introductory blog post on blog.inovex.de. It uses the synthetic dataset designed in my thesis to show the strengths and weaknesses of single learners. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Standard imports and plot settings\n",
    "import numpy as np \n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "plt.style.use(\"seaborn\")\n",
    "plt.rcParams[\"axes.labelsize\"] = 10\n",
    "plt.rcParams[\"figure.facecolor\"] = \"1\"\n",
    "plt.rcParams[\"grid.color\"] = \"black\"\n",
    "plt.rcParams[\"grid.linestyle\"] = \":\"\n",
    "plt.rcParams[\"grid.linewidth\"] = 0.5\n",
    "plt.rcParams[\"savefig.dpi\"] = 300\n",
    "plt.rcParams[\"figure.figsize\"] = (10,10)\n",
    "\n",
    "\n",
    "sns.set_style(\"whitegrid\")\n",
    "sns.set_context(\"poster\")\n",
    "\n",
    "\n",
    "CYAN = \"#4ECDC4\"\n",
    "BLUE = \"#59D2FE\"\n",
    "RED = \"#FF6B6B\"\n",
    "YELLOW = \"#FAA916\"\n",
    "GREY = \"#4A6670\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## The Two Settings\n",
    "\n",
    "### Multi-Modal\n",
    "First, we generate the synthetic data described as multi-modal setting (or just MULTI) based on the IHDP covariates. In *JustCause*, this DGP is already implemented, as it was part of my thesis evaluation and neatly shows the core statement: changing the data generating process changes the results immensely. \n",
    "\n",
    "We can simply load the desired number of replications using the provided endpoint. We choose 100, in order to flat out sample irregularities which come from the Bernoulli and normal distributions in the below definitions. For the standard IHDP reference data, usually 1000 replications are chosen. The multi-modal setting is defined as: \n",
    "\n",
    "$$y_0 = \\mathcal{N}(0, 0.2) \\\\ y_1 = y_0 + \\tau \\\\ t = \\text{BERN}[sigmoid(X_8)]$$\n",
    "\n",
    "with $\\tau$ being: \n",
    "\n",
    "$$        \\gamma = \\mathbb{I}(sigmoid(X_8) > 0.5) \\\\         \\tau = \\mathcal{N}(3*\\gamma + (1 - \\gamma), 0.1)$$\n",
    "\n",
    "That is to say, there are two groups in the population. One that responds strongly to treatment $(\\tau \\cong 3)$, and one that doesn't respond as much ($\\tau \\cong 1$). And the two are split discretely. \n",
    "\n",
    "### Exponential \n",
    "The other setting, called EXPO, is defined exactly the same way as MULTI, but with the different $\\tau$. \n",
    "\n",
    "$$ \\tau = exp(1 + sigmoid(X_8)) $$\n",
    "\n",
    "In words this means, there are no two distinct groups but rather a wide range of possible treatment effects among the population. We can see these intuitions visually in the plot below"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'MULTI setting')"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Q+ALOPea1Tj3ZC8DV1pr76Y+QNQ9mbRrHQ4dChYliIiIND93qsOPgf9zb0pFREREpAUZY47EWe2yI9DLWlue5yGJ5I0qyEREpMW5N2PfdDcX5XMsIiIiIu3Y93FygVcVjkl7px5kIiLSLNzFFq7G6UWyyVobc6fdnoWzYugxONMWZqc8iIiIiIg0iTHmQWAV8DevH7Ax5ljgZupXt/x5noYnUjA0xVJERJqFMeZcEqvDKnD6cXjNgD8ELrDWvtLSYxMRERFpL4wxrwLD3M0anD65/oULfm2tvb7FByZSYBSQNbN169ZtAPoD+4GteR6OiEiLqaioKFqwYMExf//734/88MMPI/v37y/u2LHjoe7du8c++9nPfnj55Ze/26tXr7p8j1MkRwbgLH6x7ZRTTjkp34MR3YOJiHiWL1/e45VXXum1c+fOLvv37y+uq6s7LBqNHjj++OP3jRkz5l+jR4/e0/BRRApSTu+/FJA1s3Xr1lWSmM6LiIhI2/XRKaec0i3fgxDdg4mIiLQjObn/Ug+y5rcfOKJjx45Eo9F8j0V89u/fD0Dnzp3zPBLJlL6z1kffWeui76vxqqur+eSTT8D5774UBt2DFSj9u6b10XfWuuj7an30nTVOru+/FJA1v63AsdFoFGNMvsciPuvWrQPQ99KK6DtrffSdtS76vhrPWuvd3GoqX+HQPViB0r9rWh99Z62Lvq/WR99Z4+T6/qtjLg4iIiIiIiIiIiLSWikgExERERERERGRdk0BmYiIiIiIiIiItGsKyEREREREREREpF1TQCYiIiIiIiIiIu2aAjIREREREREREWnXFJCJiIiIiIiIiEi7poBMRERERERERETaNQVkIiIiIiIiIiLSrikgExERERERERGRdk0BmYiIiIiIiIiItGsKyEREREREREREpF1TQCYiIiIiIiIiIu2aAjIREREREREREWnXFJCJiIiIiIiIiEi7poBMRERERERERETaNQVkIiIiIiIiIiLSrikgExERERERERGRdk0BmYiIiIiIiIiItGsKyEREREREREREpF1TQCYiIiJt3uPznuVL//FjHp/3bL6HIiIiIlLQyisqWb5mA+UVlfkeSos6PN8DEBEREWlOj897lj/Nfw4g/viVi8/P55BEREREMlZeUcmWrdsYNKA/Pbt3a/bPuvGe+9lfXUPnaCkP3XFr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\n",
      "text/plain": [
       "<Figure size 1440x720 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from justcause.data.generators import multi_expo_on_ihdp\n",
    "\n",
    "# Load a list of 100 replications\n",
    "multi = multi_expo_on_ihdp(setting='multi-modal', n_replications=100)\n",
    "expo = multi_expo_on_ihdp(setting='exponential', n_replications=100)\n",
    "\n",
    "# Look at one replication\n",
    "rep_exp = expo[0]\n",
    "rep = multi[0]\n",
    "\n",
    "fg, (ax1, ax2) = plt.subplots(1, 2, figsize=(20,10))\n",
    "\n",
    "ax1.scatter(rep_exp.np.X[:, 0], rep_exp.np.ite, s=3, color=GREY)\n",
    "ax2.scatter(rep.np.X[:, 0], rep.np.ite, s=3, color=GREY)\n",
    "ax1.set_xlabel('Confounder Value (X8)')\n",
    "ax1.set_ylabel('Treatment Effect')\n",
    "ax2.set_xlabel('Confounder Value (X8)')\n",
    "ax2.set_ylabel('Treatment Effect')\n",
    "ax1.set_title('EXPO setting')\n",
    "ax2.set_title('MULTI setting')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Evaluation of Learners\n",
    "We first setup the learners we want to evaluate using _JustCause_. We then use the standard implementation of an individual treatment effect evaluation implemented in the `evaluate_ite` method. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/mfranz/miniconda/envs/justcause/lib/python3.7/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.metrics.scorer module is  deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.metrics. Anything that cannot be imported from sklearn.metrics is now part of the private API.\n",
      "  warnings.warn(message, FutureWarning)\n",
      "/home/mfranz/miniconda/envs/justcause/lib/python3.7/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.feature_selection.base module is  deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.feature_selection. Anything that cannot be imported from sklearn.feature_selection is now part of the private API.\n",
      "  warnings.warn(message, FutureWarning)\n",
      "Using TensorFlow backend.\n",
      "/home/mfranz/miniconda/envs/justcause/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:526: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
      "  _np_qint8 = np.dtype([(\"qint8\", np.int8, 1)])\n",
      "/home/mfranz/miniconda/envs/justcause/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:527: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
      "  _np_quint8 = np.dtype([(\"quint8\", np.uint8, 1)])\n",
      "/home/mfranz/miniconda/envs/justcause/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:528: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
      "  _np_qint16 = np.dtype([(\"qint16\", np.int16, 1)])\n",
      "/home/mfranz/miniconda/envs/justcause/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:529: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
      "  _np_quint16 = np.dtype([(\"quint16\", np.uint16, 1)])\n",
      "/home/mfranz/miniconda/envs/justcause/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:530: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
      "  _np_qint32 = np.dtype([(\"qint32\", np.int32, 1)])\n",
      "/home/mfranz/miniconda/envs/justcause/lib/python3.7/site-packages/tensorflow/python/framework/dtypes.py:535: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.\n",
      "  np_resource = np.dtype([(\"resource\", np.ubyte, 1)])\n",
      "The sklearn.utils.testing module is  deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.utils. Anything that cannot be imported from sklearn.utils is now part of the private API.\n"
     ]
    }
   ],
   "source": [
    "from justcause.learners.utils import install_r_packages\n",
    "from justcause.learners import SLearner, TLearner, CausalForest, RLearner, XLearner\n",
    "\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "\n",
    "\n",
    "# Ensure 'grf' R package is installed in the environment\n",
    "install_r_packages(['grf'])\n",
    "\n",
    "learners = [\n",
    "    SLearner(LinearRegression()), \n",
    "    TLearner(LinearRegression()), \n",
    "    XLearner(LinearRegression()), \n",
    "    SLearner(RandomForestRegressor()), \n",
    "    TLearner(RandomForestRegressor()), \n",
    "    XLearner(RandomForestRegressor()), \n",
    "    CausalForest()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from justcause.evaluation import evaluate_ite\n",
    "from justcause.metrics import pehe_score, mean_absolute, bias\n",
    "\n",
    "results = evaluate_ite(multi, learners, metrics=[pehe_score, mean_absolute, bias], random_state=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>method</th>\n",
       "      <th>train</th>\n",
       "      <th>pehe_score-mean</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>CausalForest</td>\n",
       "      <td>False</td>\n",
       "      <td>0.136886</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>XLearner(outcome_c=RandomForestRegressor, outc...</td>\n",
       "      <td>False</td>\n",
       "      <td>0.168023</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>SLearner(learner=RandomForestRegressor)</td>\n",
       "      <td>False</td>\n",
       "      <td>0.169896</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>TLearner(control=RandomForestRegressor, treate...</td>\n",
       "      <td>False</td>\n",
       "      <td>0.170758</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>XLearner(outcome_c=LinearRegression, outcome_t...</td>\n",
       "      <td>False</td>\n",
       "      <td>0.574248</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>TLearner(control=LinearRegression, treated=Lin...</td>\n",
       "      <td>False</td>\n",
       "      <td>0.574248</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>SLearner(learner=LinearRegression)</td>\n",
       "      <td>False</td>\n",
       "      <td>0.993209</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                               method  train  pehe_score-mean\n",
       "13                                       CausalForest  False         0.136886\n",
       "11  XLearner(outcome_c=RandomForestRegressor, outc...  False         0.168023\n",
       "7             SLearner(learner=RandomForestRegressor)  False         0.169896\n",
       "9   TLearner(control=RandomForestRegressor, treate...  False         0.170758\n",
       "5   XLearner(outcome_c=LinearRegression, outcome_t...  False         0.574248\n",
       "3   TLearner(control=LinearRegression, treated=Lin...  False         0.574248\n",
       "1                  SLearner(learner=LinearRegression)  False         0.993209"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Reordering columns for readability \n",
    "df = pd.DataFrame(results).sort_values('pehe_score-mean')\n",
    "df[df['train'] == False][['method', 'train', 'pehe_score-mean']]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Understanding the results\n",
    "What we see above is that the Causal Forest performs best on the Multi-Modal setting, which is the expected result. After all, it is the definition of the Causal Forest to split the population into groups with equal or similar treatment effects. The multi-modal setting is exactly that. \n",
    "Linear learners (T- or S-Learner with LinearRegression) on the other hand, have a hard time estimating the discrete groups. The same learners fare much better with RandomForestRegressors as base learners, because these are more flexible in their estimation. In other words, RandomForest don't impose a modelling assumption and are thus better suited to tackle unknown distributions. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Exponential Setting\n",
    "The second evaluation is based on a slightly different DGP, which does not contain the two distinct treatment groups."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "divide by zero encountered in true_divide\n",
      "invalid value encountered in multiply\n",
      "invalid value encountered in greater_equal\n",
      "divide by zero encountered in true_divide\n",
      "invalid value encountered in multiply\n",
      "invalid value encountered in greater_equal\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>method</th>\n",
       "      <th>train</th>\n",
       "      <th>pehe_score-mean</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>XLearner(outcome_c=RandomForestRegressor, outc...</td>\n",
       "      <td>False</td>\n",
       "      <td>0.104642</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>TLearner(control=RandomForestRegressor, treate...</td>\n",
       "      <td>False</td>\n",
       "      <td>0.115867</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>SLearner(learner=RandomForestRegressor)</td>\n",
       "      <td>False</td>\n",
       "      <td>0.116241</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>TLearner(control=LinearRegression, treated=Lin...</td>\n",
       "      <td>False</td>\n",
       "      <td>0.167952</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>XLearner(outcome_c=LinearRegression, outcome_t...</td>\n",
       "      <td>False</td>\n",
       "      <td>0.167952</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>CausalForest</td>\n",
       "      <td>False</td>\n",
       "      <td>0.222055</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>SLearner(learner=LinearRegression)</td>\n",
       "      <td>False</td>\n",
       "      <td>0.949983</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                               method  train  pehe_score-mean\n",
       "11  XLearner(outcome_c=RandomForestRegressor, outc...  False         0.104642\n",
       "9   TLearner(control=RandomForestRegressor, treate...  False         0.115867\n",
       "7             SLearner(learner=RandomForestRegressor)  False         0.116241\n",
       "3   TLearner(control=LinearRegression, treated=Lin...  False         0.167952\n",
       "5   XLearner(outcome_c=LinearRegression, outcome_t...  False         0.167952\n",
       "13                                       CausalForest  False         0.222055\n",
       "1                  SLearner(learner=LinearRegression)  False         0.949983"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "results = evaluate_ite(expo, learners, metrics=[pehe_score, mean_absolute, bias], random_state=0)\n",
    "\n",
    "df = pd.DataFrame(results).sort_values('pehe_score-mean')\n",
    "df[df['train'] == False][['method', 'train', 'pehe_score-mean']]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Understanding the results\n",
    "For the exponential setting, the results are quite different. This goes back to the fact that treatment effects follow a largely different distribution. In the new case, The X- and T-Learner with RandomForests fare best and even the T-Learner with linear regression performs better than the previous champion, CausalForest. \n",
    "\n",
    "We can argue why this is the case, but this exceeds the scope of this notebook and the corresponding plot. Read up on the results in more detail in Chapter 5.3 of [my thesis](https://justcause.readthedocs.io/en/latest/_downloads/e054f7a0fc9cf9e680173600cb4b4350/thesis-mfranz.pdf). "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
